﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CompositionPlugin.Primitives
{
    public abstract class ImportedPluginTracer
    {
        public abstract IEnumerable<ImportedPlugin<T, TMetadata>> GetPlugins<T, TMetadata>(object instance, ImportedPluginContractMetadata metadata);

        public abstract void Trace<T, TMetadata>(object instance, ImportedPluginContractMetadata metadata, IEnumerable<ImportedPlugin<T, TMetadata>> importedPlugins);
    }
}
